home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / DJLSR106.ARJ / SCREEN.C < prev    next >
C/C++ Source or Header  |  1992-03-29  |  1KB  |  44 lines

  1. /* This is file SCREEN.C */
  2. /*
  3. ** Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
  4. **
  5. ** This file is distributed under the terms listed in the document
  6. ** "copying.dj", available from DJ Delorie at the address above.
  7. ** A copy of "copying.dj" should accompany this file; if not, a copy
  8. ** should be available from where this file was obtained.  This file
  9. ** may not be distributed without a verbatim copy of "copying.dj".
  10. **
  11. ** This file is distributed WITHOUT ANY WARRANTY; without even the implied
  12. ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13. **
  14. ** Modified by J. Alan Eldridge, Liberty Brokerage, 77 Water St., NYC 10005
  15. **  Fixed ScreenRows() - the memory location it references is rows - 1, so
  16. **  have to add 1 before returning value.  Added ScreenMode().
  17. */
  18.  
  19. #include "pc.h"
  20.  
  21. int ScreenRows()
  22. {
  23.   return *(unsigned char *)0xe0000484 + 1;
  24. }
  25.  
  26. int ScreenCols()
  27. {
  28.   return *(unsigned short *)0xe000044a;
  29. }
  30.  
  31. int ScreenMode()
  32. {
  33.   return *(unsigned char *)0xe0000449;
  34. }
  35.  
  36. void ScreenPutChar(int ch, int attr, int x, int y)
  37. {
  38.   ch &= 0xff;
  39.   attr = (attr & 0xff) << 8;
  40.   if ((x < 0) || (y < 0) || (x >= ScreenCols()) || (y > ScreenRows()))
  41.     return;
  42.   *(unsigned short *)(0xe01b8000+x*2+y*ScreenCols()*2) = ch | attr;
  43. }
  44.